#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include<QGraphicsPixmapItem>//图形元素
#include<QGraphicsView>//视图
#include<QGraphicsScene>//场景
#include<QList>//链表
#include"myplane.h"

//图形元素->场景->视图


QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();


    //背景移动函数
    void BGMove();

    //飞机移动函数
    void PlaneMove();

    //按键事件
    void keyPressEvent(QKeyEvent* event);
    void keyReleaseEvent(QKeyEvent* event);

private:
    Ui::Widget *ui;

    QGraphicsView mGameView;//游戏视图
    QGraphicsScene mScene;//游戏场景
    QGraphicsScene mStartScene;//开始游戏场景


    QGraphicsPixmapItem mBackGround1;//背景元素
    QGraphicsPixmapItem mBackGround2;

    MyPlane mPlane;

    //背景移动定时器
    QTimer* mBGMoveTimer;
    QTimer* mPlaneMoveTimer;//飞机移动

    //按键组合
    QList<int> mKeyList;

};
#endif // WIDGET_H
